Introduzione e Obiettivi

L’obiettivo di questo progetto è confrontare diversi approcci per estrarre informazioni dalla blockchain. Per confrontarli è stato utilizzato un caso di studio. Esso riguarda il crollo della stablecoin Terra e del token relativo Luna. Sono stati identificati alcuni eventi chiave che hanno portato al loro collasso. I segni lasciati da questi eventi si possono in parte trovare sulla blockchain. Si utilizzano i diversi metodi per recuperare questi segni e ricostruire la sequenza di eventi.
I metodi studiati per estrarre informazioni dalla blockchain sono: Blockchain Explorers, Blockchain APIs, Piattaforme tipo SQL e Librerie Web3.

Caso di studio

Il caso di studio riguarda il crollo della stablecoin Terra e del token relativo Luna.
Una stablecoin è una cryptovaluta che associa il suo valore di mercato a qualcosa di esterno. In particolare Terra è una stablecoin algoritmica, ovvero esiste un algoritmo o protocollo che funge da banca centrale. Questo algoritmo conia e brucia nuove monete in base alla relazione della stablecoin rispetto al peg. Il peg è il meccanismo con cui il valore di una cryptovaluta è legato ad una valuta o bene spesso per mantenere il prezzo stabile. Luna è un token che funge da contrappeso a Terra, e ne assorbe la volatilità. Il sistema Terra-Luna utilizza due pool: la Terra pool e la Luna pool. Una liquidity pool è una collezione crowdsourced di cryptovalute o token controllate da uno smart contract. La Terra pool può espandere e contrarsi. Quando Terra ha un prezzo elevato rispetto al peg, questo significa che la domanda per la stablecoin è più elevata della supply. Quindi il protocollo conia Terra e brucia Luna. Quando Terra ha un prezzo basso rispetto al peg, questo significa che la domanda per la stablecoin è più bassa della supply. Quindi il protocollo brucia Terra e conia Luna.
Dopo il crollo, la stablecoin Terra è stata rinominata Terra Classic (USTC) e Luna è diventata Luna Classic (LUNC).
Si prova a ricostruire in parte il crollo del sistema Terra-Luna. La sequenza di eventi di interesse è basata su quella proposta dall’articolo Investigating shocking events in the Ethereum stablecoin ecosystem through temporal multilayer graph structure. Si riporta la sequenza di eventi:

3 Aprile 2022 : Evento di vendita anomalo di UST.

19 Aprile 2022 : Evento di vendita anomalo di UST.

20 Aprile 2022 : UST diventa la terza stablecoin più grande con 18 miliardi di dollari di capitalizzazione.

5 Maggio 2022 : Inizia una forte e persistente pressione di vendita su BTC e LUNA.

7 Maggio 2022 : Accordo per acquistare un grande numero di UST con BTC riducendo la liquidità nella pool. Simultaneamente un elevato numero di token UST sono messi in vendita. Questo è la causa del primo UST depegging, sotto $0.99.

8 Maggio 2022 : UST perde il suo peg rispetto al dollaro scendendo a $0.99 e la fondazione Luna utilizza i fondi di riserva per sostenere la currency.

9 Maggio 2022 : UST continua a scendere a $0.35. I clienti cercano di vendere le proprie riserve per uscire dal mercato. Questo è l’evento di crash.

10 Maggio 2022 : La Luna Foundation Guard vende le sue riserve di Bitcoin (BTC) per cercare di restaurare il peg di Terra.

12 Maggio 2022 : LUNA crolla del 99%.

Il 27 Maggio 2022 il token LUNA è diventato il token Luna Classic (LUNC) e la stablecoin UST è diventata TerraClassicUSD (USTC).
Come accennato, vogliamo ricostruire questi eventi cercando informazioni utilizzando le piattaforme viste. In particolare vogliamo individuare i trasferimenti USTC anomali avvenuti il 3 e il 19 Aprile, l’andamento del peg di USTC e LUNC nel periodo di Aprile e Maggio 2022, il valore del market cap in questo periodo, e informazioni riguardo le attività del Luna Foundation Guard.
LUNC e USTC hanno una loro blockchain dedicata chiamata Terra Classic. Per questo progetto si studiano le versioni Wrapped delle due cryptovalute sulla blockchain Ethereum. Wrapped LUNC è una versione tokenizzata di LUNC su blockchain Ethereum, che permette di scambiare e usare LUNC sul ecosistema Ethereum via smart contract. Wrapped USTC è una versione tokenizzata di USTC su blockchain Ethereum, che permette di usare USTC in applicazioni DeFi basate su Ethereum.

## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## 
## Caricamento pacchetto: 'tidygraph'
## 
## 
## Il seguente oggetto è mascherato da 'package:stats':
## 
##     filter
## 
## 
## 
## Caricamento pacchetto: 'igraph'
## 
## 
## Il seguente oggetto è mascherato da 'package:tidygraph':
## 
##     groups
## 
## 
## I seguenti oggetti sono mascherati da 'package:lubridate':
## 
##     %--%, union
## 
## 
## I seguenti oggetti sono mascherati da 'package:dplyr':
## 
##     as_data_frame, groups, union
## 
## 
## I seguenti oggetti sono mascherati da 'package:purrr':
## 
##     compose, simplify
## 
## 
## Il seguente oggetto è mascherato da 'package:tidyr':
## 
##     crossing
## 
## 
## Il seguente oggetto è mascherato da 'package:tibble':
## 
##     as_data_frame
## 
## 
## I seguenti oggetti sono mascherati da 'package:stats':
## 
##     decompose, spectrum
## 
## 
## Il seguente oggetto è mascherato da 'package:base':
## 
##     union

Blockchain Explorers : Etherscan

I Blockchain Explorers forniscono interfacce pubbliche che permettono di ottenere informazioni specifiche. L’interfaccia utilizzata è Etherscan.

Informazioni riguardo i trasferimenti

Etherscan permette di visualizzare i dettagli dei trasferimenti. Questi dati sono scaricabili in formato csv, ma si possono scaricare al massimo 5000 righe alla volta. È possibile specificare l’intervallo di tempo solo in termini di giorni, e non di ore. Quindi, se ci sono più di 5000 operazioni in un giorno, non si riesce a scaricare tutti i dati.
Riguardo le transazioni sono fornite le seguenti informazioni: Transaction Hash, Blockno, UnixTimestamp, DateTime (UTC), Address From, Address To, Quantity, Method (tipo di transazione).
È stato possibile quindi scaricare i dati e importarli in R per svolgere un’attività di analisi. Sono stati prodotti dei plot.

Come si può vedere dai grafi ottenuti ci sono stati trasferimenti anomali di USTC sia il 3 Aprile che il 19 Aprile 2022.

Informazioni riguardo i prezzi di USTC e di LUNC

Etherscan permette di visualizzare lo storico dei prezzi di USTC e di LUNC. Nella pagina dedicata ai token esiste la voce Analytics, dove è possibile visualizzare i dati dello storico sottoforma di un linear plot. È disponibile un tooltip con il prezzo più alto, il prezzo più basso e il prezzo di chiusura della giornata. Inoltre è possibile salvare il plot come immagine. Non è possibile scaricare i dati come tabelle. Si riportano i plot riguardanti le due cryptovalute: come si può vedere c’è stato un crollo nella prima metà del 2022.

Esplorando il grafo con il tooltip è stato possibile estrapolare i seguenti dati riguardo il valore alla chiusura della giornata.

##    date_interest  USTC   LUNC
## 1     2022-05-01 1.002     NA
## 2     2022-05-02 1.001 84.454
## 3     2022-05-03 1.001     NA
## 4     2022-05-04 1.001 86.136
## 5     2022-05-05    NA     NA
## 6     2022-05-06 1.000     NA
## 7     2022-05-07 0.995 68.577
## 8     2022-05-08 0.995     NA
## 9     2022-05-09 0.799 33.144
## 10    2022-05-10 0.781     NA
## 11    2022-05-11 0.775     NA
## 12    2022-05-12 0.370  0.016
## 13    2022-05-13 0.124     NA
## 14    2022-05-14 0.185  0.001
## 15    2022-05-15 0.149     NA
## 16    2022-05-16 0.097     NA

Informazioni riguardo il market cap

Etherscan mette a disposizione il market cap attuale sia di USTC che di LUNC. Il market cap di una cryptovaluta è il valore totale di tutte le monete in circolazione. Si calcola come prezzo attuale x offerta circolante. Non è possibile visualizzare lo storico del market cap di queste cryptovalute. L’unico storico che mette a disposizione è quello di Ether. Quindi non è stato possibile verificare l’evento del 20 Aprile 2022.

Inoltre è fornita una classifica aggiornata dei market cap delle diverse cryptovalute ma anche questa non ha uno storico.

Informazioni riguardo il white paper

Nelle pagine dedicate a Wrapped LUNC e a Wrapped USCT Etherscan fornisce dei link che puntano entrambi alla stessa pagina del Terra Whitepaper. Il whitepaper di una cryptocurrency è un documento completo in cui sono delineati i suoi aspetti tecnici ed economici. Nel momento in cui è stata visitata (14 Febbraio 2025) la pagina del Terra Whitepaper ospitava a sua volta un link alla pagina di un account X.

Pressione di vendita

Per dimostrare la forte e persistente pressione di vendita l’articolo Anatomy of a Stablecoin Failure utilizza i prezzi di chiusura di LUNA, UST e BTC con cadenza oraria. Si concentra sui prezzi dal 1 Maggio al 17 Maggio 2022, mettendo particolare attenzione su alcuni momenti specifici :
- 05 May 2022 12:00
- 07 May 2022 22:00
- 09 May 2022 14:00
- 11 May 2022 10:00
Etherscan però mette a disposizione i closing prices con precisione giornaliera, e quindi un’analisi dettegliata come quella presentata in detto articolo non è stata possibile.

Luna Foundation Guard

Su Etherscan attualmente (15 Feb 2025) esiste un address che ha come nome pubblico Luna Foundation Guard Reserve Wallet. Il periodo di attività di questo portafoglio va dal Gennaio 2022 fino al Luglio 2023. I dati delle sue attività sono resi disponibili in dettaglio e sono scaricabili su csv.
Questi dati riguardano solo le attività sulla blockchain Ethereum. Di conseguenza, non è stato possibile verificare l’evento di vendite del 10 Maggio.

Blockchain APIs : Etherscan API

Le Blockchain API forniscono interfacce che permettono di interrogare la Blockchain in modo programmatico. L’API studiata è Etherscan API. Etherscan API estende le funzionalità di Etherscan. Richiede la creazione di un account per essere utilizzata. Mediante il proprio account è possibile generare delle chiavi che consentono di effettuare query all’API tramite richieste HTTPS.
Sono state scritte le query di interesse e i programmi Python per invocare queste query. I dati ottenuti sono poi stati analizzati in R in modo simile a quello visto finora.

Informazioni riguardo i trasferimenti

I dati di interesse riguardanti i trasferimenti sono contenuti nei log. È stato possibile scaricare i dati dei log e produrre dei grafi simili a quelli visti con Etherscan.
Le query formulate per questi dati hanno nove campi:
- module specifica l’API endpoint. In questo caso si tratta dei log.
- action specifica il tipo di operazione. La action getLogs restituisce i log riguardanti l’indirizzo nel campo address.
- address specifica l’indirizzo di cui cercare i log. È di tipo stringa. Nel progetto a questo campo è stata assegnata la hash di USTC. Questa è stata ottenuta da Etherscan.
- fromBlock specifica il block number da cui cominciare a cercare i log. È di tipo intero. Questo valore è stato scelto uguale a quello visto con Etherscan.
- toBlock specifica il block number a cui fermarsi. È di tipo intero. Questo valore è stato scelto uguale a quello visto con Etherscan.
- topic0 specifica il topic di interesse. È possibile specificare più topic e combinarli tra loro. È stato assegnato il valore della hash del contratto ERC-20.
- page specifica il numero di pagina, se la paginazione è abilitata.
- offset specifica il numero di transazioni visualizzate per pagina.
- apikey richiede la chiave API del proprio account.
Un esempio di log :

query = "https://api.etherscan.io/api
         ?module=logs
         &action=getLogs
         &address=< LUNC oppure USTC HASH in hex >
         &fromBlock=< NUMERO BLOCCO INIZIALE >
         &toBlock=< NUMERO BLOCCO FINALE >
         &topic0=< ERC-20 HASH in hex >
         &page=1
         &offset=2000
         &apikey=< API-KEY in hex >"

I risultati ottenuti sono salvati in un file JSON. Questi a loro volta sono convertiti in file csv e studiati con R.

Come si può vedere, i risultati ottenuti sono in accordo con quanto visto con Etherscan.

Informazioni riguardo i prezzi di USTC e di LUNC

È possibile visualizzare gli stessi grafi visti con Etherscan. I dati proposti nel grafo restano non direttamente scaricabili.
Etherscan e Etherscan API propogono dei link alle piattaforme Coingecko e Coinbase dove è possibile trovare ulteriori informazioni. Coinbase è una società di scambio di beni digitali. Coingecko è una piattaforma che aggrega dati riguardanti le cryptovalute.
È stato utilizzato Coingecko per ottenere dati più dettagliati riguardanti i prezzi di USTC e LUNC. Su Coingecko è disponibile l’intero storico dal 2021 al 2025 ed è scaricabile in formato csv. I dati sono giornalieri.
È stato possibile costruire dei grafi con l’andamento dei prezzi. Questi sono molto simili a quelli proposti da Etherscan.

Informazioni riguardo il market cap

Non sono state trovate informazioni aggiuntive oltre a quelle già viste con Etherscan.

Informazioni riguardo il whitepaper

Non sono state trovate informazioni aggiuntive oltre a quelle già viste con Etherscan.

Pressione di vendita

I closing prices disponibili su Coingecko hanno una precisione giornaliera. Un’analisi dettegliata come quella presentata nell’articolo non è stata possibile.

Luna Foundation Guard

È possibile accedere ai dati riguardanti wallet specifici tramite query.  Etherscan API può accedere solo alla blockchain Ethereum, quindi le vendite del 10 Maggio 2022 non sono visibili.

In ogni caso, è stato possibile ottenere informazioni riguardanti il Luna Foundation Guard Reserve Wallet tramite le query riportate sotto.

È possibile ottenere il bilancio di un wallet. La query in questo caso ha cinque campi:
- module specifica l’API endpoint. In questo caso si tratta di un account.
- action specifica il tipo di operazione. In questo caso si tratta di ottenere il bilancio di un wallet.
- address specifica l’indirizzo del wallet.
- tag può assumere tre valori: ‘earliest’, ‘pending’, ‘latest’. Nel nostro caso ci interessa ‘latest’.
- apikey richiede la chiave API del proprio account.

# Ottieni bilancio Ether di un singolo indirizzo

address_balance = "https://api.etherscan.io/api
                   ?module=account
                   &action=balance
                   &address=< HASH DEL WALLET in hex >
                   &tag=latest
                   &apikey=< API-KEY in hex >"

È possibile ottenere la lista di transazioni di un wallet. La query in questo caso ha nove campi:
- module specifica l’API endpoint. In questo caso si tratta di un account.
- action specifica il tipo di operazione. In questo caso si tratta di ottenere la lista delle transazioni di un wallet.
- address specifica l’indirizzo del wallet.
- startblock specifica il block number da cui cominciare a cercare i log. È di tipo intero.
- endblock specifica il block number a cui fermarsi. È di tipo intero.
- page specifica il numero di pagina, se la paginazione è abilitata.
- offset specifica il numero di transazioni visualizzate per pagina.
- sort specifica l’ordine con cui visualizzare le transazioni. Può essere ‘asc’ o ‘desc’.
- apikey richiede la chiave API del proprio account.

# Ottieni lista di operazioni 'normali' di un singolo indirizzo

normal_transactions = "https://api.etherscan.io/api
                       ?module=account
                       &action=txlist
                       &address=< HASH DEL WALLET in hex >
                       &startblock=< NUMERO BLOCCO INIZIALE >
                       &endblock=< NUMERO BLOCCO FINALE >
                       &page=1
                       &offset=10
                       &sort=asc
                       &apikey=< API-KEY in hex >"

È possibile ottenere la lista di transazioni interne di un wallet. La query in questo caso ha nove campi:
- module specifica l’API endpoint. In questo caso si tratta di un account.
- action specifica il tipo di operazione. In questo caso si tratta di ottenere la lista delle transazioni interne di un wallet.
- address specifica l’indirizzo del wallet.
- startblock specifica il block number da cui cominciare a cercare i log. È di tipo intero.
- endblock specifica il block number a cui fermarsi. È di tipo intero.
- page specifica il numero di pagina, se la paginazione è abilitata.
- offset specifica il numero di transazioni visualizzate per pagina.
- sort specifica l’ordine con cui visualizzare le transazioni. Può essere ‘asc’ o ‘desc’.
- apikey richiede la chiave API del proprio account.

# Ottieni lista di operazioni interne di un singolo indirizzo

internal_transactions = "https://api.etherscan.io/api
                        ?module=account
                        &action=txlistinternal
                        &address=< HASH DEL WALLET in hex >
                        &startblock=< NUMERO BLOCCO INIZIALE >
                        &endblock=< NUMERO BLOCCO FINALE >
                        &page=1
                        &offset=10
                        &sort=asc
                        &apikey=< API-KEY in hex >"

Piattaforme tipo SQL

Queste piattaforme permettono di interrogare la Blockchain con comandi SQL. Due esempi di piattaforme SQL sono Dune Analytics e Google Big Query. La piattaforma studiata è Dune Analytics.
Dune Analytics mette a disposizione i dati sottoforma di tabelle consultabili traminte query SQL. È possibile creare nuove query da zero oppure duplicare e modificare query già esistenti tramite il fork.
Dune Analytics non permette di scaricare i dati se l’account non è a pagamento.

Dune permette di visualizzare i dati in diverse forme grafiche. È possibile manipolare i grafi così ottenuti modificando i parametri messi a disposizione.

È possibile conoscere le tabelle disponibili ricercandole tramite la barra di ricerca. Di ogni tabella è possibile visualizzare informazini dettagliate e un’anteprima.

Informazioni riguardo i trasferimenti

Per ottenere le informazioni riguardo i trasferimenti è stata utilizzata la tabella ethereum.logs. Sono cercati i log di Ethereum in cui la data del giorno corrisponde a quella di interesse, il hash del contratto corrisponde a quello di USTC, topic0 è pari al hash di ERC-20 e i valori trasferiti sono diversi da zero.   Per la visualizzazione dei valori trasferiti questi sono stati convertiti da tipo varbinary a tipo decimale.

SELECT
  ethereum.logs.block_time,
  ethereum.logs.block_number,
  ethereum.logs.contract_address,
  ethereum.logs.data,
  ethereum.logs.topic1 AS sender_address,
  ethereum.logs.topic2 AS receiver_address,
  varbinary_to_decimal( varbinary_ltrim(ethereum.logs.data)) / POWER(10, 18)
FROM ethereum.logs
WHERE ethereum.logs.block_date = DATE '2022-04-03'
  AND ethereum.logs.contract_address = <USTC HASH in hex>
  AND ethereum.logs.topic0 = <ERC-20 HASH in hex>
  AND ethereum.logs.data != 0x
GROUP BY 1, 2, 3, 4, 5, 6
ORDER BY ethereum.logs.block_time;

I risultati ottenuti sembrano corrispondere con quanto visto con le altre soluzioni.

Informazioni riguardo i prezzi di USTC e di LUNC

Dune mette a disposizione più informazioni riguardanti i closing prices. I dati selezionati sono dettagliati minuto per minuto piuttosto che giorno per giorno. Per questa parte è stata fatta una fork di una query preesistente. I risultati ottenuti sembrano corrispondere con quanto visto con le altre soluzioni.

Informazioni riguardo il market cap

Dune esclude determinate metriche dai suoi dataset. Una di queste è la market cap.

Informazioni riguardo il whitepaper

Non è stato possibile consultare il Terra whitepaper direttamente su Dune.

Pressione di vendita

Dato che la precisione dei closing prices è più elevata è possibile verificare i dati riportati nell’articolo Anatomy of a Stablecoin’s failure: the Terra-Luna Case. Nell’articolo sono indicati alcuni eventi specifici di interesse: 05 May 2022 12:00, 07 May 2022 22:00, 09 May 2022 14:00, 11 May 2022 10:00.
Si riportano i closing prices di quei momenti.

05 May 2022 12:00
05 May 2022 12:00
07 May 2022 22:00
07 May 2022 22:00
09 May 2022 14:00
09 May 2022 14:00
11 May 2022 10:00
11 May 2022 10:00

È possibile focalizzarsi su un intervallo di tempo specifico.

05 May 2022 12:00
05 May 2022 12:00

Luna Foundation Guard

Si vuole individuare il wallet utilizzato dalla Luna Foundation Guard e verificare se è avvenuta l’operazione di vendita del 10 Maggio 2022 indicata nell’articolo.
Dune ha tabelle riguardanti altre catene oltre a Ethereum. Una di queste è la catena Bitcoin. Dune non ha tabelle riguardanti la blockchain Terra Classic.
Il wallet utilizzato dal Luna Foundation Guard era sconosciuto. Per individuarlo è stata utilizzata la piattaforma BitcoinWhosWho. Cercando ‘Luna Foundation Guard’ la piattaforma propone due indirizzi. Uno di questi due sembrebbe essere il wallet cercato.
Quindi è stata creata una query SQL su Dune che cerca nelle tabelle dedicate alla catena Bitcoin. In questo modo è stato possibile osservare una vendita di 28206 BTC il 10 Maggio 2022 avvenuta con questo wallet.

Librerie Web3

Queste librerie forniscono funzioni che permettono interazioni con la Blockchain. Queste sono state utilizzate con Python.
Web3.py richiede un provider per accedere alla blockchain. Come provider è stato utilizzato Infura. Infura è una blockchain API, simile a Ethereum API. Per utilizzare Infura è richiesta la creazione di un account per ottenere la chiave. Infura impone un limite al numero massimo di operazioni giornaliere.

Informazioni riguardo i trasferimenti

L’utilizzo delle librerie Web3.py è simile a Etherscan API. Una differenza è che è stato necessario consultare sia i logs che i blocchi. Infatti i log forniti sono sprovvisti di timestamp. Quindi sono stati consultati i blocchi in modo da ottenere i timestamps corrispondenti.
Per svolgere qualsiasi operazione è necessario collegarsi al provider Infura:

web3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/< KEY >'))

Per invocare i log

logs = web3.eth.get_logs({ 
    "fromBlock": < NUMERO BLOCCO INIZIALE >, 
    "toBlock": < NUMERO BLOCCO FINALE >, 
    "address": < USTC HASH in hex >, 
    "topics" : [ < ERC-20 HASH in hex>] 
}) 

Per ottenere i timestamp delle operazioni sono stati consultati i blocchi ottenuti con i log.

block = web3.eth.get_block( <NUMERO BLOCCO DI INTERESSE> )
timestamp = block['timestamp']

I risultati ottenuti in questo modo sono stati salvati in file JSON che poi sono stati convertiti a file csv. Su R sono state assegnate le corrispondenze tra le timestamps e le operazioni di trasferimento, e sono stati creati i grafi dei trasferimenti.

Informazioni riguardo i prezzi di USTC e di LUNC

Queste informazioni non sono direttamente disponibili sulla blockchain.

Informazioni riguardo il market cap

Queste informazioni non sono direttamente disponibili sulla blockchain.

Informazioni riguardo il whitepaper

Queste informazioni non sono direttamente disponibili sulla blockchain.

Pressione di vendita

Queste informazioni non sono direttamente disponibili sulla blockchain.

Luna Foundation Guard

Web3.py fornisce delle funzioni per ottenere informazioni riguardanti un wallet.
È possibile utilizzare la funzione get_transactions_count per ottenere il numero di transazioni per un wallet specifico.
E` possibile utilizzare la funzione get_balance per ottenere il bilancio di un wallet specifico.
Per ottenere le singole transazioni che coinvolgono un wallet non esiste una funzione che estrae direttamente tutte le transazioni: bisogna esaminare i blocchi della catena uno ad uno.
Le transazioni già viste con Etherscan sono state confermate ma, dato che Web3.py non permette di visitare la catena Bitcoin, non è stato possibile confermare la vendita del 10 Maggio 2022.

Conclusioni

I risultati ottenuti possono essere riassunti nella tabella sotto riportata.

metodo trasferimenti prezzi USTC e LUNC market cap whitepaper pressione vendita wallet Luna Foundation
Etherscan visibili e scaricabili visibili non scaricabili solo valore attuale link dettagli insufficienti visibile e scaricabile; solo attività su Ethereum
Etherscan API visibili e scaricabili visibili non scaricabili solo valore attuale link dettagli insufficienti visibile e scaricabile; solo attività su Ethereum
Dune Analytics visibili non scaricabili visibili non scaricabili non disponibile non disponibile visibile non scaricabile visibile e scaricabile: attività su più blockchain
Web3.py visibili e scaricabili non disponibile non disponibile non disponibile non disponibile visibile e scaricabile; solo attività su Ethereum

In questo progetto sono stati studiati più metodi per ottenere le stesse informazioni riguardanti il crollo del sistema Terra-Luna.
Le diverse piattaforme sono state ideate per utilizzi diversi e richiedono competenze differenti. Tranne Dune, le piattaforme sono focalizzate sulla blockchain Ethereum. Tranne Etherscan, richiedono tutte competenze di programmazione.
Per ottenere alcune informazioni è stato necessario appoggiarsi a strumenti esterni.
Per il caso di studio l’approcio migliore sembrerebbe quello di combinare risultati da almeno due piattaforme, in modo da compensare le rispettive lacune. Combinando i risultati ottenuti con Etherscan API e quelli di Dune Analytics si riesce ad ottenere un quadro completo.

Bibliografia

A. Briola, D. Vidal-Tomas, Y. Wang, T. Aste, (2022) Anatomy of a Stablecoins failure: the Terra-Luna case

C. T. Ba, R. G. Clegg, B. A. Steer, M. Zignani, (2024) INVESTIGATING SHOCKING EVENTS IN THE ETHEREUM STABLECOIN ECOSYSTEM THROUGH TEMPORAL MULTILAYER GRAPH STRUCTURE

https://www.investopedia.com/terms/m/marketcapitalization.asp\